36 lines
1.6 KiB
CMake
36 lines
1.6 KiB
CMake
project(mazemaker_lib)
|
|
cmake_minimum_required (VERSION 2.8.12)
|
|
set (mazemaker_SOVERSION_CURRENT 0)
|
|
set (mazemaker_SOVERSION_REVISION 1)
|
|
set (mazemaker_SOVERSION_AGE 0)
|
|
math (EXPR mazemaker_SOVERSION_MAJOR "${mazemaker_SOVERSION_CURRENT} - ${mazemaker_SOVERSION_AGE}")
|
|
math (EXPR mazemaker_SOVERSION_MINOR "${mazemaker_SOVERSION_AGE} + ${mazemaker_SOVERSION_REVISION}")
|
|
set (mazemaker_VERSION ${mazemaker_SOVERSION_MAJOR}.${mazemaker_SOVERSION_MINOR})
|
|
set (mazemaker_SOVERSION ${mazemaker_SOVERSION_MAJOR}.${mazemaker_SOVERSION_MINOR})
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_search_module(PNG REQUIRED libpng)
|
|
|
|
file(GLOB SOURCES *.c *.h)
|
|
|
|
add_library(mazemaker_shared SHARED ${SOURCES})
|
|
add_library(mazemaker_static STATIC ${SOURCES})
|
|
set_target_properties(mazemaker_shared PROPERTIES
|
|
LIBRARY_OUTPUT_NAME mazemaker
|
|
VERSION ${mazemaker_VERSION}
|
|
SOVERSION ${mazemaker_SOVERSION}
|
|
)
|
|
set_target_properties(mazemaker_static PROPERTIES
|
|
OUTPUT_NAME mazemaker
|
|
VERSION ${mazemaker_VERSION}
|
|
SOVERSION ${mazemaker_SOVERSION}
|
|
)
|
|
install (TARGETS mazemaker_shared mazemaker_static DESTINATION ${LIB_INSTALL_DIR})
|
|
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../include/mazemaker.h DESTINATION ${INCLUDE_INSTALL_DIR})
|
|
target_link_libraries(mazemaker_shared PUBLIC ${PNG_LIBRARIES} m)
|
|
target_include_directories(mazemaker_shared PUBLIC ${PNG_INCLUDE_DIRS} ../include)
|
|
target_include_directories(mazemaker_static PUBLIC ${PNG_INCLUDE_DIRS} ../include)
|
|
target_compile_options(mazemaker_shared PUBLIC ${PNG_CFLAGS_OTHER})
|
|
target_compile_options(mazemaker_static PUBLIC ${PNG_CFLAGS_OTHER})
|
|
target_link_options(mazemaker_shared PUBLIC -L${PNG_LIBDIR})
|