48 lines
1.7 KiB
CMake
48 lines
1.7 KiB
CMake
PROJECT(${KWSYS_NAMESPACE})
|
|
INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIStreamHeaders.cmake)
|
|
INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
|
|
INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake)
|
|
INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
|
|
CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM)
|
|
|
|
SET(KWSYS_NO_STD_NAMESPACE ${CMAKE_NO_STD_NAMESPACE})
|
|
SET(KWSYS_NO_ANSI_STREAM_HEADERS ${CMAKE_NO_ANSI_STREAM_HEADERS})
|
|
SET(KWSYS_NO_ANSI_STRING_STREAM ${CMAKE_NO_ANSI_STRING_STREAM})
|
|
SET(KWSYS_NO_ANSI_FOR_SCOPE ${CMAKE_NO_ANSI_FOR_SCOPE})
|
|
|
|
SET(CLASSES Directory RegularExpression SystemTools)
|
|
SET(HEADERS Configure StandardIncludes)
|
|
|
|
SET(SRCS)
|
|
SET(KWSYS_INCLUDES)
|
|
FOREACH(c ${CLASSES})
|
|
SET(SRCS ${SRCS} ${c}.cxx)
|
|
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${c}.hxx.in
|
|
${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx
|
|
@ONLY IMMEDIATE)
|
|
SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
|
|
${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx)
|
|
ENDFOREACH(c)
|
|
|
|
FOREACH(h ${HEADERS})
|
|
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.hxx.in
|
|
${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx
|
|
@ONLY IMMEDIATE)
|
|
SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
|
|
${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx)
|
|
ENDFOREACH(h)
|
|
|
|
ADD_LIBRARY(${KWSYS_NAMESPACE} ${SRCS})
|
|
|
|
ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
|
|
INCLUDE_DIRECTORIES(BEFORE ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE})
|
|
|
|
IF(KWSYS_LIBRARY_INSTALL_DIR)
|
|
INSTALL_TARGETS(${KWSYS_LIBRARY_INSTALL_DIR} ${KWSYS_NAMESPACE})
|
|
ENDIF(KWSYS_LIBRARY_INSTALL_DIR)
|
|
|
|
IF(KWSYS_INCLUDE_INSTALL_DIR)
|
|
INSTALL_FILES(${KWSYS_INCLUDE_INSTALL_DIR}/${KWSYS_NAMESPACE}
|
|
FILES ${KWSYS_INCLUDES})
|
|
ENDIF(KWSYS_INCLUDE_INSTALL_DIR)
|