cmake_minimum_required(VERSION 3.14) project(nanogui_experiments VERSION 1.0 DESCRIPTION "NanoGUI experiments" LANGUAGES CXX ) set(NANOGUI_REPO "https://github.com/SpotlightKid/nanogui" CACHE STRING "nanoGUi repository URL or path") set(NANOGUI_BUILD_EXAMPLES OFF) set(NANOGUI_BUILD_PYTHON OFF) set(NANOGUI_BUILD_SHARED OFF) include(FetchContent) FetchContent_Declare(nanogui GIT_REPOSITORY ${NANOGUI_REPO} GIT_TAG nanogui-experiments GIT_SHALLOW true SOURCE_DIR lib/nanogui ) FetchContent_MakeAvailable(nanogui) include_directories(lib/nanogui/include) include_directories(${NANOGUI_EXTRA_INCS}) add_definitions(${NANOGUI_EXTRA_DEFS}) set_property(TARGET glfw glfw_objects nanogui PROPERTY FOLDER "dependencies") add_executable(nanogui_helloworld nanogui_helloworld.cpp) target_compile_features(nanogui_helloworld PRIVATE cxx_std_17) target_link_libraries(nanogui_helloworld nanogui ${NANOGUI_EXTRA_LIBS}) add_executable(nanogui_knobs nanogui_knobs.cpp fancyknob.cpp) target_compile_features(nanogui_knobs PRIVATE cxx_std_17) target_link_libraries(nanogui_knobs nanogui ${NANOGUI_EXTRA_LIBS})