@@ -3,13 +3,22 @@ cmake_minimum_required(VERSION 3.5)
33project (Forscape VERSION 0.0.3 LANGUAGES CXX)
44set (EXE_NAME "Forscape" )
55
6- set (CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} /conan-dependencies ${CMAKE_MODULE_PATH} )
7- include (${CMAKE_BINARY_DIR} /conan-dependencies/conanbuildinfo.cmake)
8- conan_basic_setup(NO_OUTPUT_DIRS KEEP_RPATHS)
9- include_directories (${CONAN_INCLUDE_DIRS} )
6+ option (USE_CONAN "Use Conan for dependency management" ON )
7+
8+ if (USE_CONAN)
9+ set (CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} /conan-dependencies ${CMAKE_MODULE_PATH} )
10+ include (${CMAKE_BINARY_DIR} /conan-dependencies/conanbuildinfo.cmake)
11+ conan_basic_setup(NO_OUTPUT_DIRS KEEP_RPATHS)
12+ include_directories (${CONAN_INCLUDE_DIRS} )
13+ add_compile_definitions (USE_CONAN_EIGEN)
14+ endif ()
1015
1116find_package (Eigen3 REQUIRED)
12- find_package (phmap REQUIRED)
17+ # This is a header only library, that should be included in the system's
18+ # default include directory if conan is not used.
19+ if (USE_CONAN)
20+ find_package (phmap REQUIRED)
21+ endif ()
1322find_package (readerwriterqueue REQUIRED)
1423
1524set (CMAKE_INCLUDE_CURRENT_DIR ON )
@@ -268,6 +277,7 @@ if(QT_VERSION_MAJOR EQUAL 6)
268277endif ()
269278
270279add_compile_definitions ($<$<CONFIG:Release>:EIGEN_NO_DEBUG>)
280+ include (CheckCXXCompilerFlag)
271281
272282if (MSVC )
273283 target_compile_options (Forscape PRIVATE
@@ -285,9 +295,10 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
285295 $<$<CONFIG:Release>: -Ofast -fmodulo-sched -fmodulo-sched-allow-regmoves -fgcse-sm -fgcse-las -fdelete-null-pointer-checks
286296 -fomit-frame-pointer -funroll-loops -fvisibility=hidden -fwhole-program -flto>
287297 )
288- target_link_options (Forscape PRIVATE
289- -Wa,-mbig-obj
290- )
298+ check_cxx_compiler_flag("-Wa,-mbig-obj" HAS_MBIG_OBJ)
299+ if (HAS_MBIG_OBJ)
300+ target_link_options (Forscape PRIVATE "-Wa,-mbig-obj" )
301+ endif ()
291302elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
292303 # using Clang
293304elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" )
@@ -306,7 +317,7 @@ add_custom_target(
306317
307318add_dependencies (Forscape codegen)
308319
320+ install (TARGETS Forscape RUNTIME)
309321if (${MAKE_DEB} )
310- install (TARGETS Forscape RUNTIME)
311322 include (Packing.cmake)
312323endif ()
0 commit comments