scanned-image-extractor/CMakeModules/NewIfNotExists.cmake

36 lines
1.2 KiB
CMake

# will include modules/thirdparty if needed for out of source building
# make sure PROJECTNAME and PACKAGE_NAME are set properly
set(BUILDFILE "${CMAKE_BINARY_DIR}/built/${PACKAGE_NAME}")
# has it been built yet ?
if(NOT EXISTS "${BUILDFILE}")
set(FROMDIR ${CMAKE_CURRENT_LIST_DIR}/../${ADD_DIRECTORY})
set(TODIR ${CMAKE_BINARY_DIR}/${SUBDIR_STANDALONE}/${ADD_DIRECTORY})
# projectname must not equal package name,
# this happens if projectname finds itself, for instance
if(NOT ${PROJECTNAME} STREQUAL ${PACKAGE_NAME} AND NOT EXISTS "${BUILDFILE}")
add_subdirectory (${FROMDIR} ${TODIR})
endif()
endif()
# # add as target, if it does not exist already
# # this makes it possible to separately
# # compile different programs
# set(DEST_DIR_TMP "${CMAKE_BINARY_DIR}/${ADD_DIRECTORY}")
# if (NOT ${PROJECTNAME} STREQUAL ${PACKAGE_NAME})
# if (NOT TARGET ${PACKAGE_NAME})
# If(NOT IS_DIRECTORY ${DEST_DIR_TMP})
# set(TRGTDIR "${CMAKE_BINARY_DIR}/${ADD_DIRECTORY}")
# add_subdirectory (
# "${CMAKE_CURRENT_LIST_DIR}/../${ADD_DIRECTORY}"
# ${TRGTDIR}
# )
# set (LINK_DIRECTORIES ${TRGTDIR} ${LINK_DIRECTORIES})
# endif()
# endif()
# endif()