# Project setup PROJECT(xml) SET(VERSION_MAJOR "0") SET(VERSION_MINOR "1") SET(VERSION_PATCH "4") CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR) # Compiler setup SET(CMAKE_C_FLAGS_DEBUG "-g -DDEBUG") SET(CMAKE_C_FLAGS_RELEASE "-O2") # Options OPTION(XML_PARSER_VERBOSE "Enable to be told everything the xml parser does" OFF) IF(XML_PARSER_VERBOSE) ADD_DEFINITIONS(-DXML_PARSER_VERBOSE) ENDIF(XML_PARSER_VERBOSE) # Sources SET(SOURCE_DIRECTORY src) SET(TEST_SOURCE_DIRECTORY test) # Build library ADD_LIBRARY(xml STATIC ${SOURCE_DIRECTORY}/xml.c ) # Build unit cases INCLUDE_DIRECTORIES(${SOURCE_DIRECTORY}) ADD_EXECUTABLE(test-xml ${TEST_SOURCE_DIRECTORY}/test-xml ) TARGET_LINK_LIBRARIES(test-xml xml) FILE( COPY ${TEST_SOURCE_DIRECTORY}/test.xml DESTINATION ${PROJECT_BINARY_DIR} ) # Building example ADD_EXECUTABLE(example ${TEST_SOURCE_DIRECTORY}/example ) TARGET_LINK_LIBRARIES(example xml)