Code Monkey home page Code Monkey logo

Comments (5)

SpaceIm avatar SpaceIm commented on May 28, 2024 3

Here is a simple CMakeLists I've written for conan package manager (with few modifications: conan-io/conan-center-index#4449).

It assumes that cgltf.c and cgltf_write.c are available in the same directory (with proper definition and inclusion of respective headers).

Handles static/shared libs (through BUILD_SHARED_LIBS global variable: https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html), and allows shared with Visual Studio.

cmake_minimum_required(VERSION 3.4)
project(cgltf C)

add_library(${PROJECT_NAME} cgltf.c cgltf_write.c)
set_target_properties(${PROJECT_NAME}
  PROPERTIES
    C_STANDARD 99
    WINDOWS_EXPORT_ALL_SYMBOLS ON
)

include(GNUInstallDirs)
install(
  TARGETS ${PROJECT_NAME}
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
install(FILES cgltf.h cgltf_write.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

With few more lines, it could install CMake config file with imported targets, and create a pkgconfig file.

from cgltf.

jkuhlmann avatar jkuhlmann commented on May 28, 2024 1

Like you're saying, that is something that is pretty easy to do. It mostly comes done to maintaining the build configurations for the different target platforms. What would your approach to that be?

from cgltf.

emersion avatar emersion commented on May 28, 2024

My approach would be to add a very basic Meson build file that can optionally be used by downstream projects (as a subproject) and distributions to use cgltf without having to copy-paste header files around.

The Meson file could look like this: https://git.sr.ht/~emersion/cgltf/tree/master/meson.build

(If you don't like Meson, could use something else.)

from cgltf.

emersion avatar emersion commented on May 28, 2024

@jkuhlmann, what do you think?

from cgltf.

RealAstolfo avatar RealAstolfo commented on May 28, 2024

i would argue a simple bash script and batch script for windows would be the best option for a project this simple, this way no one needs to install any 3rd party tools just to get a header file in their /usr/include lol

from cgltf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.