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)