@@ -536,7 +536,7 @@ elseif(NOT WITH_12BIT)
|
|||||||
endif()
|
endif()
|
||||||
if(WITH_SIMD)
|
if(WITH_SIMD)
|
||||||
message(STATUS "SIMD extensions: ${CPU_TYPE} (WITH_SIMD = ${WITH_SIMD})")
|
message(STATUS "SIMD extensions: ${CPU_TYPE} (WITH_SIMD = ${WITH_SIMD})")
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
|
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
@@ -666,7 +666,7 @@ add_executable(wrjpgcom wrjpgcom.c)
|
|||||||
|
|
||||||
add_subdirectory(md5)
|
add_subdirectory(md5)
|
||||||
|
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
set(OBJDIR "\${CTEST_CONFIGURATION_TYPE}/")
|
set(OBJDIR "\${CTEST_CONFIGURATION_TYPE}/")
|
||||||
else()
|
else()
|
||||||
set(OBJDIR "")
|
set(OBJDIR "")
|
||||||
@@ -1342,7 +1342,7 @@ if(WITH_TURBOJPEG)
|
|||||||
install(TARGETS turbojpeg-static ARCHIVE
|
install(TARGETS turbojpeg-static ARCHIVE
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
if(NOT ENABLE_SHARED)
|
if(NOT ENABLE_SHARED)
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
||||||
else()
|
else()
|
||||||
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
@@ -1358,7 +1358,7 @@ endif()
|
|||||||
if(ENABLE_STATIC)
|
if(ENABLE_STATIC)
|
||||||
install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
if(NOT ENABLE_SHARED)
|
if(NOT ENABLE_SHARED)
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
|
||||||
else()
|
else()
|
||||||
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ foreach(src ${JPEG_SOURCES})
|
|||||||
set(JPEG_SRCS ${JPEG_SRCS} ../${src})
|
set(JPEG_SRCS ${JPEG_SRCS} ../${src})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(WITH_SIMD AND MSVC_IDE)
|
if(WITH_SIMD AND (MSVC_IDE OR XCODE))
|
||||||
# This tells CMake that the "source" files haven't been generated yet
|
# This tells CMake that the "source" files haven't been generated yet
|
||||||
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
|
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -135,6 +135,9 @@ endif()
|
|||||||
if(MSVC_IDE)
|
if(MSVC_IDE)
|
||||||
set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
||||||
string(REGEX REPLACE " " ";" CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS}")
|
string(REGEX REPLACE " " ";" CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS}")
|
||||||
|
elseif(XCODE)
|
||||||
|
set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
string(REGEX REPLACE " " ";" CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(GLOB INC_FILES nasm/*.inc)
|
file(GLOB INC_FILES nasm/*.inc)
|
||||||
@@ -162,13 +165,13 @@ foreach(file ${SIMD_SOURCES})
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/${DEPFILE})
|
${CMAKE_CURRENT_SOURCE_DIR}/${DEPFILE})
|
||||||
endif()
|
endif()
|
||||||
set(OBJECT_DEPENDS ${OBJECT_DEPENDS} ${INC_FILES})
|
set(OBJECT_DEPENDS ${OBJECT_DEPENDS} ${INC_FILES})
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
# The CMake Visual Studio generators do not work properly with the ASM_NASM
|
# The CMake Visual Studio generators do not work properly with the ASM_NASM
|
||||||
# language, so we have to go rogue here and use a custom command like we
|
# language, so we have to go rogue here and use a custom command like we
|
||||||
# did in prior versions of libjpeg-turbo. (This is why we can't have nice
|
# did in prior versions of libjpeg-turbo. (This is why we can't have nice
|
||||||
# things.)
|
# things.)
|
||||||
string(REGEX REPLACE "${CPU_TYPE}/" "" filename ${file})
|
string(REGEX REPLACE "${CPU_TYPE}/" "" filename ${file})
|
||||||
set(SIMD_OBJ ${OBJDIR}/${filename}.obj)
|
set(SIMD_OBJ ${OBJDIR}/${filename}${CMAKE_C_OUTPUT_EXTENSION})
|
||||||
add_custom_command(OUTPUT ${SIMD_OBJ} DEPENDS ${file} ${OBJECT_DEPENDS}
|
add_custom_command(OUTPUT ${SIMD_OBJ} DEPENDS ${file} ${OBJECT_DEPENDS}
|
||||||
COMMAND ${CMAKE_ASM_NASM_COMPILER} -f${CMAKE_ASM_NASM_OBJECT_FORMAT}
|
COMMAND ${CMAKE_ASM_NASM_COMPILER} -f${CMAKE_ASM_NASM_OBJECT_FORMAT}
|
||||||
${CMAKE_ASM_NASM_FLAGS} ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
${CMAKE_ASM_NASM_FLAGS} ${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||||
@@ -180,7 +183,7 @@ foreach(file ${SIMD_SOURCES})
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(MSVC_IDE)
|
if(MSVC_IDE OR XCODE)
|
||||||
set(SIMD_OBJS ${SIMD_OBJS} PARENT_SCOPE)
|
set(SIMD_OBJS ${SIMD_OBJS} PARENT_SCOPE)
|
||||||
add_library(simd OBJECT ${CPU_TYPE}/jsimd.c)
|
add_library(simd OBJECT ${CPU_TYPE}/jsimd.c)
|
||||||
add_custom_target(simd-objs DEPENDS ${SIMD_OBJS})
|
add_custom_target(simd-objs DEPENDS ${SIMD_OBJS})
|
||||||
|
|||||||
Reference in New Issue
Block a user