Skip to content
Snippets Groups Projects
Commit 077fd134 authored by Campbell Barton's avatar Campbell Barton
Browse files

cmake:

- fix for cmake's SSE detection which would fail because of strict warnings and also had redundant cache setting.
- was incorrectly initializing variables (own bad)
- python was searching for libs on every run, now only do this if there not cached.
parent 622e8ee3
No related branches found
No related tags found
No related merge requests found
...@@ -287,7 +287,7 @@ endif() ...@@ -287,7 +287,7 @@ endif()
set(WITH_BINRELOC OFF) set(WITH_BINRELOC OFF)
# MAXOSX only, set to avoid uninitialized # MAXOSX only, set to avoid uninitialized
set(EXETYPE) set(EXETYPE "")
# C/C++ flags # C/C++ flags
set(PLATFORM_CFLAGS) set(PLATFORM_CFLAGS)
...@@ -298,13 +298,13 @@ set(CXX_WARNINGS) ...@@ -298,13 +298,13 @@ set(CXX_WARNINGS)
# libraries to link the binary with passed to target_link_libraries() # libraries to link the binary with passed to target_link_libraries()
# known as LLIBS to scons # known as LLIBS to scons
set(PLATFORM_LINKLIBS) set(PLATFORM_LINKLIBS "")
# Added to linker flags in setup_liblinks # Added to linker flags in setup_liblinks
# - CMAKE_EXE_LINKER_FLAGS # - CMAKE_EXE_LINKER_FLAGS
# - CMAKE_EXE_LINKER_FLAGS_DEBUG # - CMAKE_EXE_LINKER_FLAGS_DEBUG
set(PLATFORM_LINKFLAGS) set(PLATFORM_LINKFLAGS "")
set(PLATFORM_LINKFLAGS_DEBUG) set(PLATFORM_LINKFLAGS_DEBUG "")
# disabled for now, not supported # disabled for now, not supported
...@@ -436,7 +436,7 @@ if(UNIX AND NOT APPLE) ...@@ -436,7 +436,7 @@ if(UNIX AND NOT APPLE)
) )
if(INTL_LIBRARY AND ICONV_LIBRARY) if(INTL_LIBRARY AND ICONV_LIBRARY)
set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY}) set(GETTEXT_LIBRARIES ${INTL_LIBRARY} ${ICONV_LIBRARY})
endif() endif()
endif() endif()
...@@ -645,9 +645,9 @@ elseif(WIN32) ...@@ -645,9 +645,9 @@ elseif(WIN32)
if(WITH_INTERNATIONAL) if(WITH_INTERNATIONAL)
set(GETTEXT ${LIBDIR}/gettext) set(GETTEXT ${LIBDIR}/gettext)
set(GETTEXT_INC ${GETTEXT}/include) set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include)
set(GETTEXT_LIBPATH ${GETTEXT}/lib) set(GETTEXT_LIBPATH ${GETTEXT}/lib)
set(GETTEXT_LIB gnu_gettext) set(GETTEXT_LIBRARIES gnu_gettext)
endif() endif()
if(CMAKE_CL_64) if(CMAKE_CL_64)
...@@ -804,9 +804,9 @@ elseif(WIN32) ...@@ -804,9 +804,9 @@ elseif(WIN32)
if(WITH_INTERNATIONAL) if(WITH_INTERNATIONAL)
set(GETTEXT ${LIBDIR}/gcc/gettext) set(GETTEXT ${LIBDIR}/gcc/gettext)
set(GETTEXT_INC ${GETTEXT}/include) set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include)
set(GETTEXT_LIBPATH ${GETTEXT}/lib) set(GETTEXT_LIBPATH ${GETTEXT}/lib)
set(GETTEXT_LIB intl) set(GETTEXT_LIBRARIES intl)
endif() endif()
set(JPEG_LIBRARIES libjpeg) set(JPEG_LIBRARIES libjpeg)
...@@ -956,8 +956,8 @@ elseif(APPLE) ...@@ -956,8 +956,8 @@ elseif(APPLE)
if(WITH_INTERNATIONAL) if(WITH_INTERNATIONAL)
set(GETTEXT ${LIBDIR}/gettext) set(GETTEXT ${LIBDIR}/gettext)
set(GETTEXT_INC "${GETTEXT}/include") set(GETTEXT_INCLUDE_DIRS "${GETTEXT}/include")
set(GETTEXT_LIB intl iconv) set(GETTEXT_LIBRARIES intl iconv)
set(GETTEXT_LIBPATH ${GETTEXT}/lib) set(GETTEXT_LIBPATH ${GETTEXT}/lib)
endif() endif()
......
...@@ -34,16 +34,19 @@ IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "") ...@@ -34,16 +34,19 @@ IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "")
SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR}) SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
ENDIF() ENDIF()
IF(DEFINED PYTHON_VERSION) SET(PYTHON_VERSION 3.2 CACHE STRING "Python Version (major and minor only)")
SET(PYTHON_VERSION "${PYTHON_VERSION}" CACHE STRING "")
ELSE()
SET(PYTHON_VERSION 3.2 CACHE STRING "")
ENDIF()
MARK_AS_ADVANCED(PYTHON_VERSION) MARK_AS_ADVANCED(PYTHON_VERSION)
SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
# See: http://docs.python.org/extending/embedding.html#linking-requirements
# for why this is needed
SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic" CACHE STRING "Linker flags for python")
MARK_AS_ADVANCED(PYTHON_LINKFLAGS) MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
# only search for the dirs if we havn't already
IF((NOT DEFINED PYTHON_INCLUDE_DIR) OR (NOT DEFINED PYTHON_LIBRARY))
SET(_python_ABI_FLAGS SET(_python_ABI_FLAGS
"m;mu;u; " # release "m;mu;u; " # release
"md;mud;ud;d" # debug "md;mud;ud;d" # debug
...@@ -95,6 +98,7 @@ UNSET(_CURRENT_PATH) ...@@ -95,6 +98,7 @@ UNSET(_CURRENT_PATH)
UNSET(_python_ABI_FLAGS) UNSET(_python_ABI_FLAGS)
UNSET(_python_SEARCH_DIRS) UNSET(_python_SEARCH_DIRS)
ENDIF()
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF # handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
# all listed variables are TRUE # all listed variables are TRUE
......
...@@ -235,7 +235,7 @@ macro(setup_liblinks ...@@ -235,7 +235,7 @@ macro(setup_liblinks
endif() endif()
if(WITH_INTERNATIONAL) if(WITH_INTERNATIONAL)
target_link_libraries(${target} ${GETTEXT_LIB}) target_link_libraries(${target} ${GETTEXT_LIBRARIES})
if(WIN32 AND NOT UNIX) if(WIN32 AND NOT UNIX)
target_link_libraries(${target} ${ICONV_LIBRARIES}) target_link_libraries(${target} ${ICONV_LIBRARIES})
...@@ -343,18 +343,17 @@ macro(TEST_SSE_SUPPORT ...@@ -343,18 +343,17 @@ macro(TEST_SSE_SUPPORT
set(${_sse2_flags} "-xSSE2") set(${_sse2_flags} "-xSSE2")
else() else()
message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known") message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known")
set(_sse_flags) set(${_sse_flags})
set(_sse2_flags) set(${_sse2_flags})
endif() endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_REQUIRED_FLAGS "${${_sse_flags}} ${${_sse2_flags}}")
set(CMAKE_REQUIRED_FLAGS ${_sse_flags} ${_sse2_flags})
endif()
if(NOT DEFINED ${SUPPORT_SSE_BUILD}) if(NOT DEFINED SUPPORT_SSE_BUILD)
# result cached
check_c_source_runs(" check_c_source_runs("
#include <xmmintrin.h> #include <xmmintrin.h>
int main() { __m128 v = _mm_setzero_ps(); return 0; }" int main(void) { __m128 v = _mm_setzero_ps(); return 0; }"
SUPPORT_SSE_BUILD) SUPPORT_SSE_BUILD)
if(SUPPORT_SSE_BUILD) if(SUPPORT_SSE_BUILD)
...@@ -362,13 +361,13 @@ macro(TEST_SSE_SUPPORT ...@@ -362,13 +361,13 @@ macro(TEST_SSE_SUPPORT
else() else()
message(STATUS "SSE Support: missing.") message(STATUS "SSE Support: missing.")
endif() endif()
set(${SUPPORT_SSE_BUILD} ${SUPPORT_SSE_BUILD} CACHE INTERNAL "SSE Test")
endif() endif()
if(NOT DEFINED ${SUPPORT_SSE2_BUILD}) if(NOT DEFINED SUPPORT_SSE2_BUILD)
# result cached
check_c_source_runs(" check_c_source_runs("
#include <emmintrin.h> #include <emmintrin.h>
int main() { __m128d v = _mm_setzero_pd(); return 0; }" int main(void) { __m128d v = _mm_setzero_pd(); return 0; }"
SUPPORT_SSE2_BUILD) SUPPORT_SSE2_BUILD)
if(SUPPORT_SSE2_BUILD) if(SUPPORT_SSE2_BUILD)
...@@ -376,9 +375,9 @@ macro(TEST_SSE_SUPPORT ...@@ -376,9 +375,9 @@ macro(TEST_SSE_SUPPORT
else() else()
message(STATUS "SSE2 Support: missing.") message(STATUS "SSE2 Support: missing.")
endif() endif()
set(${SUPPORT_SSE2_BUILD} ${SUPPORT_SSE2_BUILD} CACHE INTERNAL "SSE2 Test")
endif() endif()
unset(CMAKE_REQUIRED_FLAGS)
endmacro() endmacro()
# when we have warnings as errors applied globally this # when we have warnings as errors applied globally this
......
...@@ -53,7 +53,7 @@ set(SRC ...@@ -53,7 +53,7 @@ set(SRC
if(WITH_INTERNATIONAL) if(WITH_INTERNATIONAL)
list(APPEND INC_SYS list(APPEND INC_SYS
${GETTEXT_INC} ${GETTEXT_INCLUDE_DIRS}
) )
add_definitions(-DWITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL)
endif() endif()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment