45 lines
1.7 KiB
CMake
45 lines
1.7 KiB
CMake
INCLUDE_DIRECTORIES(".")
|
|
|
|
# List sources files
|
|
FILE(GLOB LIBRARY_FILES_C "*.cpp")
|
|
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
|
|
|
|
FILE(GLOB IBFS_LIBRARY_FILES_C "IBFS/*.cpp")
|
|
FILE(GLOB IBFS_LIBRARY_FILES_H "IBFS/*.h" "IBFS/*.inl")
|
|
SOURCE_GROUP("IBFS" FILES ${IBFS_LIBRARY_FILES_C} ${IBFS_LIBRARY_FILES_H})
|
|
|
|
FILE(GLOB LMFit_LIBRARY_FILES_C "LMFit/*.cpp")
|
|
FILE(GLOB LMFit_LIBRARY_FILES_H "LMFit/*.h" "LMFit/*.inl")
|
|
SOURCE_GROUP("LMFit" FILES ${LMFit_LIBRARY_FILES_C} ${LMFit_LIBRARY_FILES_H})
|
|
|
|
FILE(GLOB TRWS_LIBRARY_FILES_C "TRWS/*.cpp")
|
|
FILE(GLOB TRWS_LIBRARY_FILES_H "TRWS/*.h" "TRWS/*.inl")
|
|
SOURCE_GROUP("TRWS" FILES ${TRWS_LIBRARY_FILES_C} ${TRWS_LIBRARY_FILES_H})
|
|
|
|
cxx_library_with_type(Math "Libs" "" "${cxx_default}"
|
|
${LIBRARY_FILES_C} ${LIBRARY_FILES_H}
|
|
${IBFS_LIBRARY_FILES_C} ${IBFS_LIBRARY_FILES_H}
|
|
${LMFit_LIBRARY_FILES_C} ${LMFit_LIBRARY_FILES_H}
|
|
${TRWS_LIBRARY_FILES_C} ${TRWS_LIBRARY_FILES_H}
|
|
)
|
|
|
|
# Manually set Common.h as the precompiled header
|
|
IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.16.0)
|
|
TARGET_PRECOMPILE_HEADERS(Math PRIVATE "Common.h")
|
|
endif()
|
|
|
|
# Link its dependencies
|
|
TARGET_LINK_LIBRARIES(Math Common)
|
|
|
|
# Install
|
|
INSTALL(FILES ${LIBRARY_FILES_H} DESTINATION "${INSTALL_INCLUDE_DIR}/Math")
|
|
INSTALL(FILES ${IBFS_LIBRARY_FILES_H} DESTINATION "${INSTALL_INCLUDE_DIR}/Math/IBFS")
|
|
INSTALL(FILES ${LMFit_LIBRARY_FILES_H} DESTINATION "${INSTALL_INCLUDE_DIR}/Math/LMFit")
|
|
INSTALL(FILES ${TRWS_LIBRARY_FILES_H} DESTINATION "${INSTALL_INCLUDE_DIR}/Math/TRWS")
|
|
INSTALL(TARGETS Math
|
|
EXPORT OpenMVSTargets
|
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
|
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
|
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
|
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/Math")
|