# # 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. # cmake_minimum_required (VERSION 2.6) project (etch-c-helloworld) #if ETCH_HOME has not been set by Ant it is set to the OS environment variable IF (NOT ETCH_HOME) SET(ETCH_HOME $ENV{ETCH_HOME}) ENDIF (NOT ETCH_HOME) message(STATUS "using etch home ${ETCH_HOME}") #Etch Home IF (NOT ETCH_HOME) MESSAGE(FATAL_ERROR "ETCH_HOME not set") ENDIF (NOT ETCH_HOME) # Set definitions IF (UNIX) add_definitions(-D_GNU_SOURCE -D_REENTRANT -DLINUX=2 -D__LINUX__) ENDIF (UNIX) add_definitions(-D_UNICODE -DUNICODE) # ETCH library SET(ETCH ${ETCH_HOME}/binding-c) FIND_PATH(ETCH_INCLUDE_DIR etch.h ${ETCH}/include) FIND_LIBRARY(ETCH_LIBRARY NAMES etch.lib libetch.a PATHS ${ETCH}/lib NO_DEFAULT_PATH) IF (ETCH_INCLUDE_DIR AND ETCH_LIBRARY) SET(ETCH_FOUND TRUE) ENDIF (ETCH_INCLUDE_DIR AND ETCH_LIBRARY) IF (NOT ETCH_FOUND) MESSAGE(FATAL_ERROR "Could not find libetch") ENDIF (NOT ETCH_FOUND) # APR library SET(APR ${ETCH_HOME}/binding-c/extern/apr) FIND_PATH(APR_INCLUDE_DIR apr.h ${APR}/include ${APR}/include/apr-1) FIND_LIBRARY(APR_LIBRARY NAMES libapr-1.lib libapr-1.so PATHS ${APR}/lib NO_DEFAULT_PATH) IF (APR_INCLUDE_DIR AND APR_LIBRARY) SET(APR_FOUND TRUE) ENDIF (APR_INCLUDE_DIR AND APR_LIBRARY) IF (NOT APR_FOUND) MESSAGE(FATAL_ERROR "Could not find libapr") ENDIF (NOT APR_FOUND) # APR-ICONV library SET(APR ${ETCH_HOME}/binding-c/extern/apr) FIND_PATH(APR-ICONV_INCLUDE_DIR apr_iconv.h ${APR}/include ${APR}/include/apr-1) FIND_LIBRARY(APR-ICONV_LIBRARY NAMES libapriconv-1.lib libapriconv-1.so PATHS ${APR}/lib NO_DEFAULT_PATH) IF (APR-ICONV_INCLUDE_DIR AND APR-ICONV_LIBRARY) SET(APR-ICONV_FOUND TRUE) ENDIF (APR-ICONV_INCLUDE_DIR AND APR-ICONV_LIBRARY) IF (NOT APR-ICONV_FOUND) MESSAGE(FATAL_ERROR "Could not find libapriconv") ENDIF (NOT APR-ICONV_FOUND) SET(VLD ${ETCH_HOME}/binding-c/extern/vld1.9) FIND_PATH(VLD_INCLUDE_DIR vld.h ${VLD}/include) FIND_LIBRARY(VLD_LIBRARY NAMES vld.lib PATHS ${VLD}/lib NO_DEFAULT_PATH) IF (VLD_INCLUDE_DIR AND VLD_LIBRARY) SET(VLD_FOUND TRUE) ENDIF (VLD_INCLUDE_DIR AND VLD_LIBRARY) IF (NOT VLD_FOUND) MESSAGE(STATUS "No vld check support") ENDIF (NOT VLD_FOUND) # set include dirs include_directories (${APR_INCLUDE_DIR}) include_directories (${APR-ICONV_INCLUDE_DIR}) include_directories (${ETCH_INCLUDE_DIR}) include_directories (${PROJECT_SOURCE_DIR}/src/main/c) include_directories (${PROJECT_SOURCE_DIR}/target/generated-sources/main/etch/c) IF (VLD_FOUND) include_directories (${VLD_INCLUDE_DIR}) ENDIF(VLD_FOUND) add_executable(etch-c-example-server src/main/c/example_server_implx.c src/main/c/example_server_impl.c src/main/c/example_listener_main.c target/generated-sources/main/etch/c/example_interface.c target/generated-sources/main/etch/c/example_client.c target/generated-sources/main/etch/c/example_server_stub.c target/generated-sources/main/etch/c/example_helper.c target/generated-sources/main/etch/c/example_client_stub.c target/generated-sources/main/etch/c/example_remote_client.c target/generated-sources/main/etch/c/example_remote_server.c target/generated-sources/main/etch/c/example_server.c target/generated-sources/main/etch/c/example_valufact.c target/generated-sources/main/etch/c/example_remote.c target/generated-sources/main/etch/c/examplemixin_interface.c target/generated-sources/main/etch/c/examplemixin_client.c target/generated-sources/main/etch/c/examplemixin_server_stub.c target/generated-sources/main/etch/c/examplemixin_helper.c target/generated-sources/main/etch/c/examplemixin_client_stub.c target/generated-sources/main/etch/c/examplemixin_remote_client.c target/generated-sources/main/etch/c/examplemixin_remote_server.c target/generated-sources/main/etch/c/examplemixin_server.c target/generated-sources/main/etch/c/examplemixin_valufact.c target/generated-sources/main/etch/c/examplemixin_remote.c ) add_executable(etch-c-example-client src/main/c/example_client_impl.c src/main/c/example_client_implx.c src/main/c/example_client_main.c target/generated-sources/main/etch/c/example_interface.c target/generated-sources/main/etch/c/example_client.c target/generated-sources/main/etch/c/example_server_stub.c target/generated-sources/main/etch/c/example_helper.c target/generated-sources/main/etch/c/example_client_stub.c target/generated-sources/main/etch/c/example_remote_client.c target/generated-sources/main/etch/c/example_remote_server.c target/generated-sources/main/etch/c/example_server.c target/generated-sources/main/etch/c/example_valufact.c target/generated-sources/main/etch/c/example_remote.c target/generated-sources/main/etch/c/examplemixin_interface.c target/generated-sources/main/etch/c/examplemixin_client.c target/generated-sources/main/etch/c/examplemixin_server_stub.c target/generated-sources/main/etch/c/examplemixin_helper.c target/generated-sources/main/etch/c/examplemixin_client_stub.c target/generated-sources/main/etch/c/examplemixin_remote_client.c target/generated-sources/main/etch/c/examplemixin_remote_server.c target/generated-sources/main/etch/c/examplemixin_server.c target/generated-sources/main/etch/c/examplemixin_valufact.c target/generated-sources/main/etch/c/examplemixin_remote.c ) target_link_libraries(etch-c-example-server "${ETCH_LIBRARY}") target_link_libraries(etch-c-example-server "${APR_LIBRARY}") target_link_libraries(etch-c-example-server "${APR-ICONV_LIBRARY}") IF (VLD_FOUND) target_link_libraries(etch-c-example-server "${VLD_LIBRARY}") ENDIF(VLD_FOUND) IF (UNIX) set_target_properties(etch-c-example-server PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") ENDIF (UNIX) set_target_properties(etch-c-example-server PROPERTIES OUTPUT_NAME "example-server") target_link_libraries(etch-c-example-client "${ETCH_LIBRARY}") target_link_libraries(etch-c-example-client "${APR_LIBRARY}") target_link_libraries(etch-c-example-client "${APR-ICONV_LIBRARY}") IF (VLD_FOUND) target_link_libraries(etch-c-example-client "${VLD_LIBRARY}") ENDIF(VLD_FOUND) IF (UNIX) set_target_properties(etch-c-example-client PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") ENDIF (UNIX) set_target_properties(etch-c-example-client PROPERTIES OUTPUT_NAME "example-client")