Reorganize code into library for reuse
This commit is contained in:
@@ -1,37 +1,14 @@
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
project (mazemaker)
|
||||
set(CMAKE_C_FLAGS "-Wall -O2 -g")
|
||||
set (VERSION_MAJOR 1)
|
||||
set (VERSION_MINOR 0)
|
||||
cmake_minimum_required (VERSION 3.0)
|
||||
cmake_policy(VERSION 3.0)
|
||||
project (mazemaker VERSION 1.0)
|
||||
|
||||
configure_file (
|
||||
"${PROJECT_SOURCE_DIR}/config.h.in"
|
||||
"${PROJECT_BINARY_DIR}/config.h"
|
||||
)
|
||||
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
|
||||
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
|
||||
SET(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib CACHE PATH "Installation prefix for object code libraries" FORCE)
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mazemaker.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/mazemaker.pc)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_search_module(POPT REQUIRED popt)
|
||||
pkg_search_module(PNG REQUIRED libpng)
|
||||
|
||||
include_directories("${PROJECT_BINARY_DIR}")
|
||||
|
||||
file(GLOB_RECURSE SOURCES src/*.c src/*.h)
|
||||
|
||||
add_executable (mazemaker ${SOURCES})
|
||||
install (TARGETS mazemaker DESTINATION bin)
|
||||
|
||||
target_link_libraries(mazemaker PUBLIC ${POPT_LIBRARIES} ${PNG_LIBRARIES} m)
|
||||
target_include_directories(mazemaker PUBLIC ${POPT_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS})
|
||||
target_compile_options(mazemaker PUBLIC ${POPT_CFLAGS_OTHER} ${PNG_CFLAGS_OTHER})
|
||||
target_link_options(mazemaker PUBLIC -L${POPT_LIBDIR} -L${PNG_LIBDIR})
|
||||
|
||||
set(
|
||||
CPACK_SOURCE_PACKAGE_FILE_NAME
|
||||
"mazemaker-${VERSION_MAJOR}.${VERSION_MINOR}"
|
||||
CACHE INTERNAL "tarball basename"
|
||||
)
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ")
|
||||
set(CPACK_SOURCE_IGNORE_FILES "*.png;/logs/;/.git/;.gitignore;.tar.gz$;/Makefile;/CMakeCache.txt;/CMakeFiles/;cmake_install.cmake;install_manifest.txt;/_CPack;/mazemaker$;/config.h$;.cmake$;${CPACK_SOURCE_IGNORE_FILES}")
|
||||
include(CPack)
|
||||
add_subdirectory(lib)
|
||||
add_subdirectory(utils)
|
||||
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mazemaker.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
|
||||
Reference in New Issue
Block a user