cmake_minimum_required(VERSION 3.4) project(libxmp-lite) set(HEADERS "include/libxmp-lite/xmp.h") set(SOURCES src/virtual.c src/format.c src/period.c src/player.c src/read_event.c src/dataio.c src/lfo.c src/scan.c src/control.c src/filter.c src/effects.c src/mixer.c src/mix_all.c src/load_helpers.c src/load.c src/hio.c src/smix.c src/memio.c src/loaders/common.c src/loaders/itsex.c src/loaders/sample.c src/loaders/xm_load.c src/loaders/mod_load.c src/loaders/s3m_load.c src/loaders/it_load.c ) include_directories(include/libxmp-lite src) option(BUILD_SHARED_LIBS "Build shared libs" OFF) if(CMAKE_BUILD_TYPE STREQUAL "Debug") option(INSTALL_HEADERS "Install header files" OFF) else() option(INSTALL_HEADERS "Install header files" ON) endif() set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) add_library(libxmp-lite ${SOURCES}) target_compile_definitions(libxmp-lite PRIVATE LIBXMP_CORE_PLAYER=1 inline=__inline _USE_MATH_DEFINES=1 ) # Fix UWP /sdl compile errors # Disable C4703: Not initialized # Disable C4996: Deprecated set_target_properties(libxmp-lite PROPERTIES COMPILE_FLAGS "/wd4703 /wd4996") install( TARGETS libxmp-lite ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) if(INSTALL_HEADERS) install(FILES ${HEADERS} DESTINATION include) endif()