OpenFPGA/libs/EXTERNAL/libpugixml/CMakeLists.txt

29 lines
920 B
CMake

cmake_minimum_required(VERSION 3.9)
project("libpugixml")
file(GLOB_RECURSE LIB_SOURCES src/*.cpp)
file(GLOB_RECURSE LIB_HEADERS src/*.hpp)
files_to_dirs(LIB_HEADERS LIB_INCLUDE_DIRS)
#Create the library
add_library(libpugixml STATIC
${LIB_HEADERS}
${LIB_SOURCES})
target_include_directories(libpugixml PUBLIC ${LIB_INCLUDE_DIRS})
set_target_properties(libpugixml PROPERTIES PREFIX "") #Avoid extra 'lib' prefix
#We don't worry about errors in pugixml, since it is developed externally
set(PUGIXML_SUPPRESS_FLAGS -w)
target_compile_options(libpugixml PRIVATE ${PUGIXML_SUPPRESS_FLAGS})
#Do not use compact mode with sanitize flags on as pugi structs are not alligned and causes errors.
if(NOT VTR_ENABLE_SANITIZE)
#Enable compact mode which reduces memory usage.
target_compile_definitions(libpugixml PRIVATE PUGIXML_COMPACT)
endif()
install(TARGETS libpugixml DESTINATION bin)