summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-10-30 19:41:13 -0400
committerAdam <Adam@anope.org>2010-10-30 19:41:13 -0400
commitfb9f41b3e52cfddada7773a65b9723cd3a96b785 (patch)
treebd97f21b4a5098d43f2a680ae09136f3e0ef6bb5 /cmake
parenta7e5d51616363214d391500b2d9d647379fba833 (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.cmake8
-rw-r--r--cmake/FindGettext.cmake28
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)))