| | if(POLICY CMP0043) |
| | cmake_policy(SET CMP0043 NEW) |
| | endif() |
| |
|
| | if(POLICY CMP0054) |
| | cmake_policy(SET CMP0054 NEW) |
| | endif() |
| |
|
| | |
| | if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") |
| | set(IS_MSVC TRUE) |
| | endif() |
| | if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
| | set(IS_GNU TRUE) |
| | endif() |
| | if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") |
| | set(IS_CLANG TRUE) |
| | endif() |
| |
|
| | |
| | if(CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86|amd64|AMD64") |
| | set(IS_X86 TRUE) |
| | endif() |
| |
|
| | |
| | string(REGEX MATCH "Linux" IS_LINUX ${CMAKE_SYSTEM_NAME}) |
| | string(REGEX MATCH "DragonFly|BSD" IS_BSD ${CMAKE_SYSTEM_NAME}) |
| | string(REGEX MATCH "SunOS" IS_SOLARIS ${CMAKE_SYSTEM_NAME}) |
| | if(WIN32) |
| | SET(IS_WINDOWS TRUE BOOL INTERNAL) |
| | endif() |
| | if(APPLE) |
| | SET(IS_MACOS TRUE BOOL INTERNAL) |
| | endif() |
| |
|
| | string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER) |
| | if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug" |
| | OR CMAKE_BUILD_TYPE_LOWER STREQUAL "relwithdebinfo") |
| | set(IS_DEBUG TRUE) |
| | endif() |
| |
|
| | |
| | set_property(GLOBAL PROPERTY USE_FOLDERS ON) |
| | set(CMAKE_TARGETS_ROOT_FOLDER "cmake") |
| | set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER |
| | ${CMAKE_TARGETS_ROOT_FOLDER}) |
| | set(COLMAP_TARGETS_ROOT_FOLDER "colmap_targets") |
| | set(COLMAP_SRC_ROOT_FOLDER "colmap_sources") |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | macro(COLMAP_ADD_SOURCE_DIR SRC_DIR SRC_VAR) |
| | |
| | set(GLOB_EXPRESSIONS "") |
| | foreach(ARG ${ARGN}) |
| | list(APPEND GLOB_EXPRESSIONS ${SRC_DIR}/${ARG}) |
| | endforeach() |
| | |
| | file(GLOB ${SRC_VAR} RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} |
| | ${GLOB_EXPRESSIONS}) |
| | |
| | string(REPLACE "/" "\\" GROUP_NAME ${SRC_DIR}) |
| | source_group(${GROUP_NAME} FILES ${${SRC_VAR}}) |
| | |
| | unset(GLOB_EXPRESSIONS) |
| | unset(ARG) |
| | unset(GROUP_NAME) |
| | endmacro(COLMAP_ADD_SOURCE_DIR) |
| |
|
| | |
| | macro(COLMAP_ADD_SOURCES) |
| | set(SOURCE_FILES "") |
| | foreach(SOURCE_FILE ${ARGN}) |
| | if(SOURCE_FILE MATCHES "^/.*") |
| | list(APPEND SOURCE_FILES ${SOURCE_FILE}) |
| | else() |
| | list(APPEND SOURCE_FILES |
| | "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE}") |
| | endif() |
| | endforeach() |
| | set(COLMAP_SOURCES ${COLMAP_SOURCES} ${SOURCE_FILES} PARENT_SCOPE) |
| | endmacro(COLMAP_ADD_SOURCES) |
| |
|
| | |
| | macro(COLMAP_ADD_CUDA_SOURCES) |
| | set(SOURCE_FILES "") |
| | foreach(SOURCE_FILE ${ARGN}) |
| | if(SOURCE_FILE MATCHES "^/.*") |
| | |
| | list(APPEND SOURCE_FILES ${SOURCE_FILE}) |
| | else() |
| | |
| | list(APPEND SOURCE_FILES |
| | "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE}") |
| | endif() |
| | endforeach() |
| |
|
| | set(COLMAP_CUDA_SOURCES |
| | ${COLMAP_CUDA_SOURCES} |
| | ${SOURCE_FILES} |
| | PARENT_SCOPE) |
| | endmacro(COLMAP_ADD_CUDA_SOURCES) |
| |
|
| | |
| | |
| | |
| | macro(COLMAP_ADD_LIBRARY TARGET_NAME) |
| | |
| | add_library(${TARGET_NAME} ${ARGN}) |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | install(TARGETS ${TARGET_NAME} DESTINATION lib/colmap/) |
| | endmacro(COLMAP_ADD_LIBRARY) |
| | macro(COLMAP_ADD_STATIC_LIBRARY TARGET_NAME) |
| | |
| | add_library(${TARGET_NAME} STATIC ${ARGN}) |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | install(TARGETS ${TARGET_NAME} DESTINATION lib/colmap) |
| | endmacro(COLMAP_ADD_STATIC_LIBRARY) |
| |
|
| | |
| | |
| | |
| | macro(COLMAP_ADD_CUDA_LIBRARY TARGET_NAME) |
| | |
| | if(CUDAToolkit_FOUND) |
| | add_library(${TARGET_NAME} ${ARGN}) |
| | target_link_libraries(${TARGET_NAME} CUDA::cudart CUDA::curand) |
| | else() |
| | cuda_add_library(${TARGET_NAME} ${ARGN}) |
| | endif() |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | install(TARGETS ${TARGET_NAME} DESTINATION lib/colmap/) |
| | endmacro(COLMAP_ADD_CUDA_LIBRARY) |
| | macro(COLMAP_ADD_STATIC_CUDA_LIBRARY TARGET_NAME) |
| | |
| | if(CUDAToolkit_FOUND) |
| | add_library(${TARGET_NAME} STATIC ${ARGN}) |
| | target_link_libraries(${TARGET_NAME} CUDA::cudart CUDA::curand) |
| | else() |
| | cuda_add_library(${TARGET_NAME} STATIC ${ARGN}) |
| | endif() |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | install(TARGETS ${TARGET_NAME} DESTINATION lib/colmap/) |
| | endmacro(COLMAP_ADD_STATIC_CUDA_LIBRARY) |
| |
|
| | |
| | |
| | |
| | macro(COLMAP_ADD_EXECUTABLE TARGET_NAME) |
| | |
| | add_executable(${TARGET_NAME} ${ARGN}) |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | target_link_libraries(${TARGET_NAME} colmap) |
| | if(VCPKG_BUILD) |
| | install(TARGETS ${TARGET_NAME} DESTINATION tools/) |
| | else() |
| | install(TARGETS ${TARGET_NAME} DESTINATION bin/) |
| | endif() |
| | endmacro(COLMAP_ADD_EXECUTABLE) |
| |
|
| | |
| | macro(COLMAP_ADD_TEST TARGET_NAME) |
| | if(TESTS_ENABLED) |
| | |
| | add_executable(${TARGET_NAME} ${ARGN}) |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | target_link_libraries(${TARGET_NAME} colmap |
| | ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) |
| | add_test("${FOLDER_NAME}/${TARGET_NAME}" ${TARGET_NAME}) |
| | if(IS_MSVC) |
| | install(TARGETS ${TARGET_NAME} DESTINATION bin/) |
| | endif() |
| | endif() |
| | endmacro(COLMAP_ADD_TEST) |
| |
|
| | |
| | macro(COLMAP_ADD_CUDA_TEST TARGET_NAME) |
| | if(TESTS_ENABLED) |
| | |
| | if(CUDAToolkit_FOUND) |
| | add_executable(${TARGET_NAME} ${ARGN}) |
| | target_link_libraries(${TARGET_NAME} CUDA::cudart CUDA::curand) |
| | else() |
| | cuda_add_executable(${TARGET_NAME} ${ARGN}) |
| | endif() |
| | set_target_properties(${TARGET_NAME} PROPERTIES FOLDER |
| | ${COLMAP_TARGETS_ROOT_FOLDER}/${FOLDER_NAME}) |
| | target_link_libraries(${TARGET_NAME} colmap |
| | ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) |
| | add_test("${FOLDER_NAME}/${TARGET_NAME}" ${TARGET_NAME}) |
| | if(IS_MSVC) |
| | install(TARGETS ${TARGET_NAME} DESTINATION bin/) |
| | endif() |
| | endif() |
| | endmacro(COLMAP_ADD_CUDA_TEST) |
| |
|