Initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
set(TARGET_NAME ${PROJECT_NAME})
|
||||
message(STATUS "Configuring ${TARGET_NAME}")
|
||||
|
||||
# Build configuration
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_LIST_DIR}/Version.h.in
|
||||
${CMAKE_CURRENT_LIST_DIR}/Version.h)
|
||||
|
||||
set(${PROJECT_NAME}_SOURCES "main.cpp")
|
||||
set(${PROJECT_NAME}_INCLUDES "Version.h")
|
||||
set(${PROJECT_NAME}_INCLUDE_DIRS "")
|
||||
set(${PROJECT_NAME}_DEPENDENCIES "")
|
||||
|
||||
# Find all subdirectories
|
||||
set(SUBDIRS_LIST "")
|
||||
SubDirList(${CMAKE_CURRENT_LIST_DIR} SUBDIRS_LIST)
|
||||
|
||||
foreach(SUBDIR IN LISTS SUBDIRS_LIST)
|
||||
if (NOT ${PROJECT_NAME}_BUILD_SUBDIR_${SUBDIR})
|
||||
option(${PROJECT_NAME}_BUILD_SUBDIR_${SUBDIR} "Build ${SUBDIR} subdirectory" ON)
|
||||
endif()
|
||||
if(${PROJECT_NAME}_BUILD_SUBDIR_${SUBDIR})
|
||||
file(GLOB SUBDIR_SOURCES ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR}/*.cc ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR}/*.cpp)
|
||||
list(APPEND ${PROJECT_NAME}_SOURCES ${SUBDIR_SOURCES})
|
||||
file(GLOB SUBDIR_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR}/*.h)
|
||||
list(APPEND ${PROJECT_NAME}_INCLUDES ${SUBDIR_INCLUDES})
|
||||
list(APPEND ${PROJECT_NAME}_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
add_executable(${TARGET_NAME} ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_INCLUDES})
|
||||
if(NOT ${${PROJECT_NAME}_DEPENDENCIES})
|
||||
add_dependencies(${TARGET_NAME} ${${PROJECT_NAME}_DEPENDENCIES})
|
||||
target_link_libraries(${TARGET_NAME} ${${PROJECT_NAME}_DEPENDENCIES})
|
||||
endif()
|
||||
|
||||
#include_directories(${CMAKE_CURRENT_LIST_DIR})
|
||||
#target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${TARGET_NAME}/
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${TARGET_NAME}/
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_SHAREDSTATEDIR})
|
||||
|
||||
message(STATUS "")
|
||||
message(STATUS "${TARGET_NAME} summary")
|
||||
message(STATUS "")
|
||||
foreach(SUBDIR IN LISTS SUBDIRS_LIST)
|
||||
message(STATUS "Build subdirectory ${SUBDIR}: \t \t ${${PROJECT_NAME}_BUILD_SUBDIR_${SUBDIR}}")
|
||||
endforeach()
|
||||
message(STATUS "")
|
||||
Reference in New Issue
Block a user