project(mazemaker_lib) cmake_minimum_required (VERSION 2.8.12) set (mazemaker_SOVERSION_CURRENT 0) set (mazemaker_SOVERSION_REVISION 2) 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})