diff options
author | Sebastien Barre <sebastien.barre@kitware.com> | 2001-11-09 21:15:58 (GMT) |
---|---|---|
committer | Sebastien Barre <sebastien.barre@kitware.com> | 2001-11-09 21:15:58 (GMT) |
commit | 9320bc53d851665585872d6fe3b2ebbecdab3978 (patch) | |
tree | 066b9bf2cf422071fe25697ae560b12beddf98aa /Modules/FindSelfPackers.cmake | |
parent | 23f0b7760f862c1befa2c7b327acec9910abbcee (diff) | |
download | CMake-9320bc53d851665585872d6fe3b2ebbecdab3978.zip CMake-9320bc53d851665585872d6fe3b2ebbecdab3978.tar.gz CMake-9320bc53d851665585872d6fe3b2ebbecdab3978.tar.bz2 |
Self-packers
Diffstat (limited to 'Modules/FindSelfPackers.cmake')
-rw-r--r-- | Modules/FindSelfPackers.cmake | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Modules/FindSelfPackers.cmake b/Modules/FindSelfPackers.cmake new file mode 100644 index 0000000..2978bb7 --- /dev/null +++ b/Modules/FindSelfPackers.cmake @@ -0,0 +1,60 @@ +# +# this module looks for some executable packers (i.e. softwares that +# compress executables or shared libs into on-the-fly self-extracting +# executables or shared libs. +# +# Examples: +# UPX: http://wildsau.idv.uni-linz.ac.at/mfx/upx.html + +INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake) + +IF (CYGWIN_INSTALL_PATH) + + FIND_PROGRAM(SELF_PACKER_FOR_EXECUTABLE + upx + ${CYGWIN_INSTALL_PATH}/bin + ) + + FIND_PROGRAM(SELF_PACKER_FOR_SHARED_LIB + upx + ${CYGWIN_INSTALL_PATH}/bin + ) + +ELSE (CYGWIN_INSTALL_PATH) + + FIND_PROGRAM(SELF_PACKER_FOR_EXECUTABLE + upx + /bin + /usr/bin + /usr/local/bin + /sbin + ) + + FIND_PROGRAM(SELF_PACKER_FOR_SHARED_LIB + upx + /bin + /usr/bin + /usr/local/bin + /sbin + ) + +ENDIF (CYGWIN_INSTALL_PATH) + +# +# Set flags +# +IF (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx") + SET (SELF_PACKER_FOR_EXECUTABLE_FLAGS "-q" CACHE STRING + "Flags for the executable self-packer.") +ELSE (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx") + SET (SELF_PACKER_FOR_EXECUTABLE_FLAGS "" CACHE STRING + "Flags for the executable self-packer.") +ENDIF (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx") + +IF (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx") + SET (SELF_PACKER_FOR_SHARED_LIB_FLAGS "-q" CACHE STRING + "Flags for the shared lib self-packer.") +ELSE (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx") + SET (SELF_PACKER_FOR_SHARED_LIB_FLAGS "" CACHE STRING + "Flags for the shared lib self-packer.") +ENDIF (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx") |