CMake: fix MSVC warnings
authorYuhang Zhao <2546789017@qq.com>
Thu, 25 Mar 2021 05:56:08 +0000 (13:56 +0800)
committerHermet Park <chuneon.park@samsung.com>
Tue, 25 May 2021 10:47:06 +0000 (19:47 +0900)
MSVC can't recognize these parameters.

Change-Id: I6be8de53b1ae0ee84eaef4ae47113d5376634b44
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
CMakeLists.txt
example/CMakeLists.txt
src/vector/stb/CMakeLists.txt

index 7591437..593276a 100644 (file)
@@ -46,23 +46,26 @@ target_include_directories(rlottie
     )
 
 #declare common target compilation options
-target_compile_options(rlottie
-                    PUBLIC
-                    PRIVATE
-                        -std=c++14
-                        -fno-exceptions
-                        -fno-unwind-tables
-                        -fno-asynchronous-unwind-tables
-                        -fno-rtti
-                        -Wall
-                        -fvisibility=hidden
-                    )
-
-#MSVC does not recognize these parameters
-if (NOT WIN32)
+if(MSVC)
+    target_compile_options(rlottie
+                        PUBLIC
+                        PRIVATE
+                            /std:c++14
+                            /EHs-c- # disable exceptions
+                            /GR- # disable RTTI
+                            /W3
+                        )
+else()
     target_compile_options(rlottie
                         PUBLIC
                         PRIVATE
+                            -std=c++14
+                            -fno-exceptions
+                            -fno-unwind-tables
+                            -fno-asynchronous-unwind-tables
+                            -fno-rtti
+                            -Wall
+                            -fvisibility=hidden
                             -Wnon-virtual-dtor
                             -Woverloaded-virtual
                             -Wno-unused-parameter
@@ -197,4 +200,3 @@ export(EXPORT rlottie-targets FILE ${CMAKE_CURRENT_BINARY_DIR}/rlottieTargets.cm
 
 #Register package in user's package registry
 export(PACKAGE rlottie)
-
index b42cc96..aacdc7c 100644 (file)
@@ -1,8 +1,14 @@
 add_executable(lottie2gif "lottie2gif.cpp")
 
-target_compile_options(lottie2gif
-                       PRIVATE
-                       -std=c++14)
+if(MSVC)
+    target_compile_options(lottie2gif
+                           PRIVATE
+                           /std:c++14)
+else()
+    target_compile_options(lottie2gif
+                           PRIVATE
+                           -std=c++14)
+endif()
 
 target_link_libraries(lottie2gif rlottie)
 
index 4861e99..b668b43 100644 (file)
@@ -2,9 +2,11 @@ if(LOTTIE_MODULE)
     add_library(rlottie-image-loader SHARED
                 stb_image.cpp
                )
-    target_compile_options(rlottie-image-loader PRIVATE
-                           -fvisibility=hidden
-                          )
+    if(NOT MSVC)
+        target_compile_options(rlottie-image-loader PRIVATE
+                               -fvisibility=hidden
+                              )
+    endif()
 
     get_filename_component(LOTTIE_MODULE_FILENAME ${LOTTIE_MODULE_PATH} NAME)
     get_filename_component(LOTTIE_MODULE_DIR ${LOTTIE_MODULE_PATH} DIRECTORY)