diff options
| author | Alan Conway <aconway@apache.org> | 2009-07-27 21:32:16 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2009-07-27 21:32:16 +0000 |
| commit | 77e93f5453f3b9878c3e27b0e99a365356c5264c (patch) | |
| tree | c6e72c764dab31648c39de97ec7154e893662eb5 /cpp/src | |
| parent | bcf89b1af8b1d4a0262530b50e5433cdaffb91f0 (diff) | |
| download | qpid-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.txt | 11 | ||||
| -rw-r--r-- | cpp/src/Makefile.am | 6 | ||||
| -rw-r--r-- | cpp/src/tests/Makefile.am | 20 |
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) |
