blob: c4e294010fe12203ee6749a9c2ecf76264460f9b [file] [log] [blame]
DRC84697032010-10-15 03:43:24 +00001# Anything that must be linked against the shared C library on Windows must
2# be built in this subdirectory, because CMake doesn't allow us to override
3# the compiler flags for each build type except at directory scope. Note
4# to CMake developers: Add a COMPILE_FLAGS_<CONFIG> target property, or
5# better yet, provide a friendly way of configuring a Windows target to use the
6# static C library.
7
8if(MSVC)
9 # Build all configurations against shared C library
10 foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
11 CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
12 CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
13 CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
14 if(${var} MATCHES "/MT")
15 string(REGEX REPLACE "/MT" "/MD" ${var} "${${var}}")
16 endif()
17 endforeach()
18endif()
19
20foreach(src ${JPEG_SOURCES})
21 set(JPEG_SRCS ${JPEG_SRCS} ${CMAKE_SOURCE_DIR}/${src})
22endforeach()
23
DRC84697032010-10-15 03:43:24 +000024if(WITH_SIMD)
25 # This tells CMake that the "source" files haven't been generated yet
26 set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
27endif()
28
DRCe328bf22010-10-15 05:33:21 +000029add_library(jpeg SHARED ${JPEG_SRCS} ${SIMD_OBJS}
30 ${CMAKE_SOURCE_DIR}/win/jpeg${DLL_VERSION}.def)
DRC84697032010-10-15 03:43:24 +000031if(MSVC)
32 set_target_properties(jpeg PROPERTIES SUFFIX ${DLL_VERSION}.dll)
DRCcdd8f122010-10-15 04:58:13 +000033elseif(MINGW OR CYGWIN)
DRC84697032010-10-15 03:43:24 +000034 set_target_properties(jpeg PROPERTIES SUFFIX -${DLL_VERSION}.dll)
35endif(MSVC)
36if(WITH_SIMD)
37 add_dependencies(jpeg simd)
38endif()
39
40add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdbmp.c ../rdgif.c ../rdppm.c
41 ../rdswitch.c ../rdtarga.c)
42set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS
43 "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED")
44target_link_libraries(cjpeg jpeg)
45
46add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c
47 ../wrbmp.c ../wrgif.c ../wrppm.c ../wrtarga.c)
48set_property(TARGET djpeg PROPERTY COMPILE_FLAGS
49 "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED")
50target_link_libraries(djpeg jpeg)
51
52add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c)
53target_link_libraries(jpegtran jpeg)