@@ -7,6 +7,10 @@ INCLUDE(version)
7
7
8
8
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11" )
9
9
10
+ IF (WIN32 )
11
+ ADD_DEFINITIONS (-DYY_NO_UNISTD_H)
12
+ ENDIF ()
13
+
10
14
FIND_PACKAGE (PythonInterp 2 REQUIRED)
11
15
IF (NOT PYTHON_VERSION_MAJOR EQUAL 2)
12
16
MESSAGE (FATAL_ERROR "Python 2 is required." )
@@ -31,7 +35,7 @@ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/c)
31
35
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_SOURCE_DIR} )
32
36
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR} )
33
37
34
- ADD_LIBRARY (graphqlparser SHARED
38
+ ADD_LIBRARY (graphqlparser STATIC
35
39
JsonVisitor.cpp
36
40
${CMAKE_CURRENT_BINARY_DIR} /Ast.h
37
41
${CMAKE_CURRENT_BINARY_DIR} /Ast.cpp
@@ -104,8 +108,17 @@ INSTALL(FILES
104
108
stack.hh
105
109
syntaxdefs.h
106
110
DESTINATION include /graphqlparser)
107
- INSTALL (TARGETS graphqlparser
108
- LIBRARY DESTINATION lib)
111
+
112
+ # Common Cmake MSVC TARGET workaround https://stackoverflow.com/a/37729574
113
+ if (WIN32 )
114
+ install (TARGETS graphqlparser
115
+ ARCHIVE DESTINATION lib
116
+ RUNTIME DESTINATION lib)
117
+ else ()
118
+ INSTALL (TARGETS graphqlparser
119
+ LIBRARY DESTINATION lib)
120
+ endif ()
121
+
109
122
110
123
if (UNIX )
111
124
# generate pkgconfig file
0 commit comments