cmake_minimum_required(VERSION 2.8) project(XmlParser) find_package(CxxTest) IF(CYGWIN) unset(WIN32) ENDIF() # The version number set(XmlParser_VERSION_MAJOR 1) set(XmlParser_VERSION_MINOR 0) set(XmlParser_VERSION_REVISION b) set(XmlParser_VERSION "${XmlParser_VERSION_MAJOR}.${XmlParser_VERSION_MINOR}${XmlParser_VERSION_REVISION}") # configure a header file to pass some of the CMake settings # to the source code configure_file( "${PROJECT_SOURCE_DIR}/include/XmlParserConfig.h.in" "${PROJECT_BINARY_DIR}/include/XmlParserConfig.h" ) include_directories(include ${PROJECT_BINARY_DIR}/include) file(GLOB SOURCE_FILES src/*.cpp include/template/*.hpp ) file(GLOB INCLUDE_FILES include/*.h "${PROJECT_BINARY_DIR}"/include/*.h ) set(xmlParserSharedLib xmlParser) set(xmlParserStaticLib xmlParserStatic) add_library(${xmlParserStaticLib} STATIC ${SOURCE_FILES}) add_library(${xmlParserSharedLib} SHARED ${SOURCE_FILES}) set_target_properties(${xmlParserStaticLib} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}) set_target_properties(${xmlParserSharedLib} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}) #install(TARGETS ${xmlParserSharedLib} ${xmlParserStaticLib} DESTINATION lib) #install(FILES ${INCLUDE_FILES} DESTINATION include) if(CXXTEST_FOUND) set(xmlParser_test_include "${PROJECT_SOURCE_DIR}/unitary-test/include") set(xmlParser_test_src "unitary-test/src") set(xmlParser_test_build "unitary-test/build") set(CXXTEST_USE_PYTHON TRUE) include_directories(${CXXTEST_INCLUDE_DIR}) set(XmlElementTest ${xmlParser_test_build}/XmlElementTest) CXXTEST_ADD_TEST(${XmlElementTest} ${xmlParser_test_src}/XmlElementTest.cpp ${xmlParser_test_include}/XmlElementTest.h) target_link_libraries(${XmlElementTest} ${xmlParserStaticLib}) endif()