diff options
author | Juergen Kahrs <Juergen.Kahrs@googlemail.com> | 2013-02-10 20:43:26 +0100 |
---|---|---|
committer | Juergen Kahrs <Juergen.Kahrs@googlemail.com> | 2013-02-10 20:43:26 +0100 |
commit | 79c0ad1fe45d4f14e21d4f2f984f6b4c7c83fdae (patch) | |
tree | 6885039f0740dd9d5c995f4e2d05cfb7841c60cc | |
parent | 1fa5be5e29fb1a7096173be2b76c4b83d8e41b28 (diff) | |
download | egawk-79c0ad1fe45d4f14e21d4f2f984f6b4c7c83fdae.tar.gz egawk-79c0ad1fe45d4f14e21d4f2f984f6b4c7c83fdae.tar.bz2 egawk-79c0ad1fe45d4f14e21d4f2f984f6b4c7c83fdae.zip |
Packaging a minimal .tar.gz file with the gawk executable and all binary extension library files.
-rw-r--r-- | CMakeLists.txt | 14 | ||||
-rw-r--r-- | extension/CMakeLists.txt | 58 |
2 files changed, 33 insertions, 39 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ba43a614..f67d3d10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -275,6 +275,8 @@ set (GAWK_SOURCES ${GAWK_SOURCES} add_executable (gawk ${GAWK_SOURCES}) target_link_libraries (gawk m ${EXTRA_LIBS}) +set(CPACK_PACKAGING_INSTALL_PREFIX /usr) +install(PROGRAMS ${CMAKE_BINARY_DIR}/gawk DESTINATION bin) # Beware: before building the extension, -DGAWK gets undefined. add_subdirectory(extension) @@ -285,3 +287,15 @@ if(NOT ${CMAKE_CROSSCOMPILING} STREQUAL "TRUE") add_subdirectory(doc) endif() +include(InstallRequiredSystemLibraries) +SET(CPACK_GENERATOR "TGZ") +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "This is GNU Awk ${GAWK_VERSION}") +SET(CPACK_PACKAGE_NAME "gawk") +SET(CPACK_PACKAGE_VERSION "${GAWK_VERSION}") +SET(CPACK_PACKAGE_VERSION_MAJOR "${GAWK_MAJOR_VERSION}") +SET(CPACK_PACKAGE_VERSION_MINOR "${GAWK_MINOR_VERSION}") +SET(CPACK_PACKAGE_VERSION_PATCH "${GAWK_BUGFIX_VERSION}") +SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") +SET(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README") + +INCLUDE(CPack) diff --git a/extension/CMakeLists.txt b/extension/CMakeLists.txt index bb8b51f3..9013bda3 100644 --- a/extension/CMakeLists.txt +++ b/extension/CMakeLists.txt @@ -26,61 +26,45 @@ remove_definitions(-DGAWK) -add_library (filefuncs MODULE filefuncs.c stack.c gawkfts.c) -target_link_libraries (filefuncs) -set_target_properties(filefuncs PROPERTIES PREFIX "") +MACRO(BuildExtension name sources) + add_library (${name} MODULE ${sources}) + target_link_libraries(${name}) + set_target_properties(${name} PROPERTIES PREFIX "") + install(PROGRAMS ${CMAKE_BINARY_DIR}/extension/${name}${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION lib) +ENDMACRO(BuildExtension) + +BuildExtension(filefuncs filefuncs.c stack.c gawkfts.c) DefineFunctionIfAvailable(fnmatch HAVE_FNMATCH) DefineHFileIfAvailable(fnmatch.h HAVE_FNMATCH_H) if (${HAVE_FNMATCH} AND ${HAVE_FNMATCH_H}) - add_library (fnmatch MODULE fnmatch.c) - target_link_libraries (fnmatch) - set_target_properties(fnmatch PROPERTIES PREFIX "") + BuildExtension(fnmatch fnmatch.c) else() message(WARNING "extension fnmatch cannot be built because function fnmatch or fnmatch.h is missing") endif() -add_library (fork MODULE fork.c) -target_link_libraries (fork) -set_target_properties(fork PROPERTIES PREFIX "") - -add_library (inplace MODULE inplace.c) -target_link_libraries (inplace) -set_target_properties(inplace PROPERTIES PREFIX "") - -add_library (ordchr MODULE ordchr.c) -target_link_libraries (ordchr) -set_target_properties(ordchr PROPERTIES PREFIX "") +BuildExtension(fork fork.c) +BuildExtension(inplace inplace.c) +BuildExtension(ordchr ordchr.c) DefineHFileIfAvailable(dirent.h HAVE_DIRENT_H) if (${HAVE_DIRENT_H}) - add_library (readdir MODULE readdir.c) - target_link_libraries (readdir) -set_target_properties(readdir PROPERTIES PREFIX "") + BuildExtension(readdir readdir.c) else() message(WARNING "extension readdir cannot be built because function readdir is missing") endif() -add_library (readfile MODULE readfile.c) -target_link_libraries (readfile) -set_target_properties(readfile PROPERTIES PREFIX "") - -add_library (revoutput MODULE revoutput.c) -target_link_libraries (revoutput) -set_target_properties(revoutput PROPERTIES PREFIX "") +BuildExtension(readfile readfile.c) +BuildExtension(revoutput revoutput.c) DefineFunctionIfAvailable(getdtablesize HAVE_GETDTABLESIZE) if (${HAVE_GETDTABLESIZE}) - add_library (revtwoway MODULE revtwoway.c) - target_link_libraries (revtwoway) - set_target_properties(revtwoway PROPERTIES PREFIX "") + BuildExtension(revtwoway revtwoway.c) else() message(WARNING "extension revtwoway cannot be built because function getdtablesize is missing") endif() -add_library (rwarray MODULE rwarray.c) -target_link_libraries (rwarray) -set_target_properties(rwarray PROPERTIES PREFIX "") +BuildExtension(rwarray rwarray.c) DefineFunctionIfAvailable(select HAVE_SELECT) DefineFunctionIfAvailable(gettimeofday HAVE_GETTIMEOFDAY) @@ -88,11 +72,7 @@ DefineHFileIfAvailable(sys/select.h HAVE_SYS_SELECT_H) DefineFunctionIfAvailable(nanosleep HAVE_NANOSLEEP) DefineHFileIfAvailable(time.h HAVE_TIME_H) DefineFunctionIfAvailable(GetSystemTimeAsFileTime HAVE_GETSYSTEMTIMEASFILETIME) -add_library (time MODULE time.c) -target_link_libraries (time) -set_target_properties(time PROPERTIES PREFIX "") +BuildExtension(time time.c) -add_library (testext MODULE testext.c) -target_link_libraries (testext) -set_target_properties(testext PROPERTIES PREFIX "") +BuildExtension(testext testext.c) |