summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-07-27 21:32:16 +0000
committerAlan Conway <aconway@apache.org>2009-07-27 21:32:16 +0000
commit77e93f5453f3b9878c3e27b0e99a365356c5264c (patch)
treec6e72c764dab31648c39de97ec7154e893662eb5 /cpp/src
parentbcf89b1af8b1d4a0262530b50e5433cdaffb91f0 (diff)
downloadqpid-python-77e93f5453f3b9878c3e27b0e99a365356c5264c.tar.gz
Separate generated public header files from non-public headers, generated code re-organization.
The gen/ directory has been removed, code is now generated into: $(builddir)/src - all .cpp files and non-public .h files. $(builddir)/include - all public .h files. The gen/ directory was originally intended to separate generated code from hand-written code. However both automake and cmake allow you to direct all build output, including generated code, into a separate build directory. In fact both recommend you build this way. Keeping the gen/ directory meant there would have been a total of 8 places to look for header files, all the combinations of builddir/srcdir, src/include and gen/no-gen. This was a mess, 4 is bad enough. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@798291 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/CMakeLists.txt11
-rw-r--r--cpp/src/Makefile.am6
-rw-r--r--cpp/src/tests/Makefile.am20
3 files changed, 28 insertions, 9 deletions
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt
index 65a8e66a98..3739e22cd1 100644
--- a/cpp/src/CMakeLists.txt
+++ b/cpp/src/CMakeLists.txt
@@ -67,7 +67,7 @@ if (EXISTS ${AMQP_SPEC})
endforeach (spec_file ${specs})
if (regen_amqp)
message(STATUS "Regenerating AMQP protocol sources")
-execute_process(COMMAND ${RUBY_EXECUTABLE} -I ${rgen_dir} ${rgen_dir}/generate ${CMAKE_CURRENT_BINARY_DIR}/gen ${specs} all rubygen.cmake
+execute_process(COMMAND ${RUBY_EXECUTABLE} -I ${rgen_dir} ${rgen_dir}/generate ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../include ${specs} all rubygen.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
else (regen_amqp)
message(STATUS "No need to generate AMQP protocol sources")
@@ -86,7 +86,7 @@ execute_process(COMMAND ${RUBY_EXECUTABLE} -I ${rgen_dir} ${rgen_dir}/generate $
endforeach (spec_file ${mgmt_specs})
if (regen_mgmt)
message(STATUS "Regenerating Qpid Management Framework sources")
-execute_process(COMMAND ${PYTHON_EXECUTABLE} ${mgen_dir}/qmf-gen -c managementgen.cmake -b -q -o ${CMAKE_CURRENT_BINARY_DIR}/gen/qmf ${mgmt_specs}
+execute_process(COMMAND ${PYTHON_EXECUTABLE} ${mgen_dir}/qmf-gen -c managementgen.cmake -b -q -o ${CMAKE_CURRENT_BINARY_DIR}/qmf ${mgmt_specs}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
else (regen_mgmt)
message(STATUS "No need to generate Qpid Management Framework sources")
@@ -194,9 +194,10 @@ endif (MSVC)
include_directories( ${Boost_INCLUDE_DIR} )
-include_directories( . )
-include_directories( ../include )
-include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/gen)
+include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
+include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../include )
+include_directories( ${CMAKE_CURRENT_BINARY_DIR} )
+include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../include )
link_directories( ${Boost_LIBRARY_DIRS} )
diff --git a/cpp/src/Makefile.am b/cpp/src/Makefile.am
index 1b1b9aadfb..1d5e52408a 100644
--- a/cpp/src/Makefile.am
+++ b/cpp/src/Makefile.am
@@ -82,7 +82,7 @@ specs=$(amqp_0_10_xml) $(top_srcdir)/xml/cluster.xml
# Ruby generator.
rgen_dir=$(top_srcdir)/rubygen
-rgen_cmd=ruby -I $(rgen_dir) $(rgen_dir)/generate gen $(specs) all $(srcdir)/rubygen.mk
+rgen_cmd=ruby -I $(rgen_dir) $(rgen_dir)/generate . ../include $(specs) all $(srcdir)/rubygen.mk
$(rgen_srcs) $(srcdir)/rubygen.mk: rgen.timestamp
rgen.timestamp: $(rgen_generator) $(specs)
@@ -91,7 +91,7 @@ $(rgen_generator):
# Management generator.
mgen_dir=$(top_srcdir)/managementgen
-mgen_cmd=$(mgen_dir)/qmf-gen -m $(srcdir)/managementgen.mk -q -b -o gen/qmf \
+mgen_cmd=$(mgen_dir)/qmf-gen -m $(srcdir)/managementgen.mk -q -b -o qmf \
$(top_srcdir)/../specs/management-schema.xml \
$(srcdir)/qpid/acl/management-schema.xml \
$(srcdir)/qpid/cluster/management-schema.xml
@@ -109,7 +109,7 @@ include $(srcdir)/managementgen.mk
## Compiler flags
AM_CXXFLAGS = $(WARNING_CFLAGS)
AM_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO_ARG)
-INCLUDES = -Igen -I$(srcdir)/gen -I$(top_srcdir)/include
+INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(srcdir) -I=$(builddir)
#
# Destination for intalled programs and tests defined here
diff --git a/cpp/src/tests/Makefile.am b/cpp/src/tests/Makefile.am
index 9fda235481..16cdfcbd72 100644
--- a/cpp/src/tests/Makefile.am
+++ b/cpp/src/tests/Makefile.am
@@ -18,7 +18,8 @@
#
AM_CXXFLAGS = $(WARNING_CFLAGS) -DBOOST_TEST_DYN_LINK
-INCLUDES = -I$(top_srcdir)/include -I$(srcdir)/.. -I$(srcdir)/../gen -I$(top_builddir)/src/gen
+INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src
+PUBLIC_INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include # Use public API only
abs_builddir=@abs_builddir@
extra_libs =
@@ -160,65 +161,81 @@ sender_LDADD = $(lib_client)
#
check_PROGRAMS+=perftest
perftest_SOURCES=perftest.cpp test_tools.h TestOptions.h ConnectionOptions.h
+perftest_INCLUDES=$(PUBLIC_INCLUDES)
perftest_LDADD=$(lib_client)
check_PROGRAMS+=txtest
+txtest_INCLUDES=$(PUBLIC_INCLUDES)
txtest_SOURCES=txtest.cpp TestOptions.h ConnectionOptions.h
txtest_LDADD=$(lib_client)
check_PROGRAMS+=latencytest
+latencytest_INCLUDES=$(PUBLIC_INCLUDES)
latencytest_SOURCES=latencytest.cpp TestOptions.h ConnectionOptions.h
latencytest_LDADD=$(lib_client)
check_PROGRAMS+=echotest
+echotest_INCLUDES=$(PUBLIC_INCLUDES)
echotest_SOURCES=echotest.cpp TestOptions.h ConnectionOptions.h
echotest_LDADD=$(lib_client)
check_PROGRAMS+=client_test
+client_test_INCLUDES=$(PUBLIC_INCLUDES)
client_test_SOURCES=client_test.cpp TestOptions.h ConnectionOptions.h
client_test_LDADD=$(lib_client)
check_PROGRAMS+=topic_listener
+topic_listener_INCLUDES=$(PUBLIC_INCLUDES)
topic_listener_SOURCES=topic_listener.cpp TestOptions.h ConnectionOptions.h
topic_listener_LDADD=$(lib_client)
check_PROGRAMS+=topic_publisher
+topic_publisher_INCLUDES=$(PUBLIC_INCLUDES)
topic_publisher_SOURCES=topic_publisher.cpp TestOptions.h ConnectionOptions.h
topic_publisher_LDADD=$(lib_client)
check_PROGRAMS+=publish
+publish_INCLUDES=$(PUBLIC_INCLUDES)
publish_SOURCES=publish.cpp TestOptions.h ConnectionOptions.h
publish_LDADD=$(lib_client)
check_PROGRAMS+=consume
+consume_INCLUDES=$(PUBLIC_INCLUDES)
consume_SOURCES=consume.cpp TestOptions.h ConnectionOptions.h
consume_LDADD=$(lib_client)
check_PROGRAMS+=header_test
+header_test_INCLUDES=$(PUBLIC_INCLUDES)
header_test_SOURCES=header_test.cpp TestOptions.h ConnectionOptions.h
header_test_LDADD=$(lib_client)
check_PROGRAMS+=failover_soak
+failover_soak_INCLUDES=$(PUBLIC_INCLUDES)
failover_soak_SOURCES=failover_soak.cpp ForkedBroker.h ForkedBroker.cpp
failover_soak_LDADD=$(lib_client) $(lib_broker)
check_PROGRAMS+=declare_queues
+declare_queues_INCLUDES=$(PUBLIC_INCLUDES)
declare_queues_SOURCES=declare_queues.cpp
declare_queues_LDADD=$(lib_client)
check_PROGRAMS+=replaying_sender
+replaying_sender_INCLUDES=$(PUBLIC_INCLUDES)
replaying_sender_SOURCES=replaying_sender.cpp
replaying_sender_LDADD=$(lib_client)
check_PROGRAMS+=resuming_receiver
+resuming_receiver_INCLUDES=$(PUBLIC_INCLUDES)
resuming_receiver_SOURCES=resuming_receiver.cpp
resuming_receiver_LDADD=$(lib_client)
check_PROGRAMS+=txshift
+txshift_INCLUDES=$(PUBLIC_INCLUDES)
txshift_SOURCES=txshift.cpp TestOptions.h ConnectionOptions.h
txshift_LDADD=$(lib_client)
check_PROGRAMS+=txjob
+txjob_INCLUDES=$(PUBLIC_INCLUDES)
txjob_SOURCES=txjob.cpp TestOptions.h ConnectionOptions.h
txjob_LDADD=$(lib_client)
@@ -231,6 +248,7 @@ DispatcherTest_SOURCES=DispatcherTest.cpp
DispatcherTest_LDADD=$(lib_common) $(SOCKLIBS)
check_PROGRAMS+=qpid_ping
+qpid_ping_INCLUDES=$(PUBLIC_INCLUDES)
qpid_ping_SOURCES=qpid_ping.cpp test_tools.h TestOptions.h ConnectionOptions.h
qpid_ping_LDADD=$(lib_client)