cmake_minimum_required(VERSION 3.13) project(ProjectBrussel LANGUAGES C CXX) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup() find_package(OpenGL REQUIRED) add_subdirectory(3rdparty/glfw) add_subdirectory(3rdparty/glm) add_subdirectory(3rdparty/imgui) add_subdirectory(3rdparty/imguizmo) add_subdirectory(3rdparty/imguicolortextedit) # add_executable requires at least one source file add_executable(${PROJECT_NAME} dummy.c) add_subdirectory(source) set_target_properties(${PROJECT_NAME} PROPERTIES UNITY_BUILD_MODE BATCH UNITY_BUILD_UNIQUE_ID "${PROJECT_NAME}_UNITY_ID" ) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF ) target_compile_definitions(${PROJECT_NAME} PRIVATE RAPIDJSON_HAS_STDSTRING=1 ) target_include_directories(${PROJECT_NAME} PRIVATE sources ) target_link_libraries(${PROJECT_NAME} PRIVATE ${CONAN_LIBS} OpenGL::GL glfw glm::glm imgui ImGuizmo ImGuiColorTextEdit ) option(BRUSSEL_ENABLE_ASAN "Enable AddressSanitizer or not." OFF) if(BRUSSEL_ENABLE_ASAN) target_compile_options(${PROJECT_NAME} PRIVATE -fsanitize=address -fno-omit-frame-pointer ) target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address -fno-omit-frame-pointer ) endif()