diff options
author | Adam <Adam@anope.org> | 2010-10-30 19:41:13 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-10-30 19:41:13 -0400 |
commit | fb9f41b3e52cfddada7773a65b9723cd3a96b785 (patch) | |
tree | bd97f21b4a5098d43f2a680ae09136f3e0ef6bb5 /cmake | |
parent | a7e5d51616363214d391500b2d9d647379fba833 (diff) |
Made gettext work on most OSs. Tested on Debian, FreeBSD, Gentoo, and Windows.
Added a search path option to the Config script for cmake to use when finding libraries for modules or for gettext.
Fixed m_mysql and m_ssl to work under Windows, made the Windows Config
program remember the last used options, and fixed Windows release builds.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Anope.cmake | 8 | ||||
-rw-r--r-- | cmake/FindGettext.cmake | 28 |
2 files changed, 32 insertions, 4 deletions
diff --git a/cmake/Anope.cmake b/cmake/Anope.cmake index 97734199f..6c257bf20 100644 --- a/cmake/Anope.cmake +++ b/cmake/Anope.cmake @@ -386,9 +386,9 @@ macro(calculate_depends SRC SKIP) if(CHECK_ANGLE_INCLUDES) # Find the path of the include file if(DEFAULT_INCLUDE_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) - find_path(FOUND_${FILENAME}_INCLUDE NAMES ${FILENAME} PATHS ${DEFAULT_INCLUDE_DIRS} ${WSDK_PATH}/include $ENV{VCINSTALLDIR}/include) + find_path(FOUND_${FILENAME}_INCLUDE NAMES ${FILENAME} PATHS ${DEFAULT_INCLUDE_DIRS} ${WSDK_PATH}/include $ENV{VCINSTALLDIR}/include ${EXTRA_INCLUDE}) else(DEFAULT_INCLUDE_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) - find_path(FOUND_${FILENAME}_INCLUDE NAMES ${FILENAME}) + find_path(FOUND_${FILENAME}_INCLUDE NAMES ${FILENAME} ${EXTRA_INCLUDE}) endif(DEFAULT_INCLUDE_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) # If the include file was found, add it's path to the list of include paths, but only if it doesn't already exist and isn't in the defaults for the compiler if(FOUND_${FILENAME}_INCLUDE) @@ -437,9 +437,9 @@ macro(calculate_libraries SRC SKIP SRC_LDFLAGS EXTRA_DEPENDS) foreach(LIBRARY ${REQUIRED_LIBRARY}) # Locate the library to see if it exists if(DEFAULT_LIBRARY_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) - find_library(FOUND_${LIBRARY}_LIBRARY NAMES ${LIBRARY} PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib) + find_library(FOUND_${LIBRARY}_LIBRARY NAMES ${LIBRARY} PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib ${EXTRA_INCLUDE}) else(DEFAULT_LIBRARY_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) - find_library(FOUND_${LIBRARY}_LIBRARY NAMES ${LIBRARY}) + find_library(FOUND_${LIBRARY}_LIBRARY NAMES ${LIBRARY} ${EXTRA_INCLUDE}) endif(DEFAULT_LIBRARY_DIRS OR WSDK_PATH OR DEFINED $ENV{VCINSTALLDIR}) # If the library was found, we will add it to the linker flags if(FOUND_${LIBRARY}_LIBRARY) diff --git a/cmake/FindGettext.cmake b/cmake/FindGettext.cmake new file mode 100644 index 000000000..c46c7ec20 --- /dev/null +++ b/cmake/FindGettext.cmake @@ -0,0 +1,28 @@ +# Find the header files, libs, and executables for gettext +if(NOT WIN32) + find_path(GETTEXT_INCLUDE libintl.h /usr/include /usr/local/include ${EXTRA_INCLUDE}) + find_library(GETTEXT_LIBRARY intl PATHS /usr/lib /usr/lib64 ${EXTRA_INCLUDE}) + find_program(GETTEXT_MSGFMT msgfmt PATHS /usr/bin/ /usr/local/bin ${EXTRA_INCLUDE}) +else(NOT WIN32) + find_path(GETTEXT_INCLUDE libintl.h ${DEFAULT_INCLUDE_DIRS} ${WSDK_PATH}/include $ENV{VCINSTALLDIR}/include gettext/include ${EXTRA_INCLUDE}) + find_library(GETTEXT_LIBRARY libintl PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib gettext/lib ${EXTRA_INCLUDE}) + find_library(ICONV_LIBRARY libiconv PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib gettext/lib ${EXTRA_INCLUDE}) + find_library(MINGWEX_LIBRARY libmingwex PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib gettext/lib ${EXTRA_INCLUDE}) + find_library(GCC_LIBRARY libgcc PATHS ${DEFAULT_LIBRARY_DIRS} ${WSDK_PATH}/lib $ENV{VCINSTALLDIR}/lib gettext/lib ${EXTRA_INCLUDE}) + find_program(GETTEXT_MSGFMT msgfmt PATHS ${DEFAULT_INCLUDE_DIRS} ${WSDK_PATH}/bin $ENV{VCINSTALLDIR}/bin gettext/bin ${EXTRA_INCLUDE}) +endif(NOT WIN32) + +# If we found everything we need set variables correctly for lang/CMakeLists.txt to use +if(GETTEXT_INCLUDE AND GETTEXT_MSGFMT AND (NOT WIN32 OR (ICONV_LIBRARY AND MINGWEX_LIBRARY AND GCC_LIBRARY))) + set(GETTEXT_FOUND TRUE) + set(LIBINTL_INCLUDE "${GETTEXT_INCLUDE}/libintl.h") + set(GETTEXT_MSGFMT_EXECUTABLE ${GETTEXT_MSGFMT}) + + if(WIN32) + set(GETTEXT_LIBRARIES libiconv libintl libmingwex libgcc) + else(WIN32) + if(GETTEXT_LIBRARY) + set(GETTEXT_LIBRARIES ${GETTEXT_LIBRARY}) + endif(GETTEXT_LIBRARY) + endif(WIN32) +endif(GETTEXT_INCLUDE AND GETTEXT_MSGFMT AND (NOT WIN32 OR (ICONV_LIBRARY AND MINGWEX_LIBRARY AND GCC_LIBRARY))) |