blob: 152c5e318148fb4fbe361bb03f1e2967e41a17ea [file] [log] [blame]
#/*
#* Licensed to the Apache Software Foundation (ASF) under one or more
#* contributor license agreements. See the NOTICE file distributed with
#* this work for additional information regarding copyright ownership.
#* The ASF licenses this file to You under the Apache License, Version 2.0
#* (the "License"); you may not use this file except in compliance with
#* the License. You may obtain a copy of the License at
#*
#* http://www.apache.org/licenses/LICENSE-2.0
#*
#* Unless required by applicable law or agreed to in writing, software
#* distributed under the License is distributed on an "AS IS" BASIS,
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#* See the License for the specific language governing permissions and
#* limitations under the License.
#*/
project(rocketmqclientpython)
file(GLOB_RECURSE SRC_FILES ${CMAKE_SOURCE_DIR}/src/*)
# subdirs
SET(SUB_DIRS)
file(GLOB children ${CMAKE_SOURCE_DIR}/src/*)
FOREACH (child ${children})
IF (IS_DIRECTORY ${child})
LIST(APPEND SUB_DIRS ${child})
ENDIF ()
ENDFOREACH ()
LIST(APPEND SUB_DIRS ${CMAKE_SOURCE_DIR}/src)
# include_directories
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${SUB_DIRS})
#include_directories(/usr/local/include/rocketmq)
#include_directories(/usr/include/python2.7)
#include_directories(/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7)
# static
add_library(rocketmqclientpython_static STATIC ${SRC_FILES})
set_target_properties(rocketmqclientpython_static PROPERTIES OUTPUT_NAME "rocketmqclientpython")
target_link_libraries(rocketmqclientpython_static ${deplibs})
target_link_libraries(rocketmqclientpython_static ${ROCKETMQ_LIBRARIES})
target_link_libraries(rocketmqclientpython_static ${Boost_LIBRARIES})
target_link_libraries(rocketmqclientpython_static ${PYTHON_LIBRARIES})
# shared
set(CMAKE_SHARED_LINKER_FLAGS "-fPIC -shared")
add_library(rocketmqclientpython_shared SHARED ${SRC_FILES})
set_target_properties(rocketmqclientpython_shared PROPERTIES OUTPUT_NAME "rocketmqclientpython")
if (APPLE)
set_target_properties(rocketmqclientpython_shared PROPERTIES SUFFIX .so)
endif (APPLE)
target_link_libraries(rocketmqclientpython_shared ${deplibs})
target_link_libraries(rocketmqclientpython_shared ${ROCKETMQ_LIBRARIES})
target_link_libraries(rocketmqclientpython_shared ${Boost_LIBRARIES})
target_link_libraries(rocketmqclientpython_shared ${PYTHON_LIBRARIES})
# install
install(TARGETS rocketmqclientpython_shared DESTINATION lib)